function Game(ele) {

    // 0.保存地图对象
    this.ele = document.querySelector(ele)

    // 1. 搞地图
    this.map = new Map(this.ele) 
    this.map.create() 

    // 2. 搞食物
    this.food = new Food(this.ele) 
    this.food.create() 

    // 2. 搞蛇
    this.snake = new Snake(this.ele) 
    this.snake.create() 
}

Game.prototype.start = function(){
    setInterval(()=>{
        // 蛇动
        this.snake.move()

                // 判断吃食
                let snakeX = this.snake.snakeObj[0].x * 20
                let snakeY = this.snake.snakeObj[0].y * 20
                let foodX = this.food.foodX
                let foodY = this.food.foodY
                
                if (snakeX == foodX && snakeY == foodY) {
                    // alert('真香')
        
                    let last = this.snake.snakeObj[this.snake.snakeObj.length - 1]
        
                    this.snake.snakeObj.push({
                        x: last.x, 
                        y : last.y, 
                        color: last.color, 
                        ele:null
                    })

                    this.snake.create() //重新绘制蛇
                    // 食物动
                    this.food.move()
                }

                if (snakeX<0 || snakeY<0){
                    alert('笨蛋 你撞墙了 有瑕疵')
                    
                }
                if (snakeX>780 || snakeY>380){
                    alert('笨蛋 你撞墙了 有瑕疵')
                  
                }

            




    }, 22)

        // 监控键盘上下左右键  来动态更改蛇的direction
        document.addEventListener('keydown', (e) => {
            // 获取事件对象
            e = e || window.event
            // 获取键盘
            console.log(e.keyCode) // 38 40 37 39
    
            switch (e.keyCode) {
                case 38:
                    this.snake.direction = 'top'
                    break;
                case 40:
                    this.snake.direction = 'bottom'
                    break;
                case 37:
                    this.snake.direction = 'left'
                    break;
                case 39:
                    this.snake.direction = 'right'
                    break;
                default:
                    break;
            }
        })
}